package com.javatest;

import java.util.Arrays;

/**
 * @author LL
 * 编写一个静态方法 histogram()，接受一个整型数组 a[] 和一个整数 M 为参数并返回一个大小
 * 为M的数组，其中第i个元素的值为整数i在参数数组中出现的次数。如果a[]中的值均在0到M-1
 * 之间，返回数组中所有元素之和应该和 a.length 相等。
 * @create 2021-01-13 11:04
 */
public class Subject27 {

    public static int[] histogram(int[] a,int M){
        int[] b = new int[M];
        for (int i = 0; i < M; i++) {
            int x = 0;
            for (int j = 0; j < a.length; j++) {
                if(i == a[j]){
                    x++;
                }
                b[i] = x;
            }
        }
        return b;
    }

    public static void main(String[] args) {
        int[] a = {1,2,2,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,6,6,7,7,7,7,7,7,7};
        int[] histogram = histogram(a, 8);
        System.out.println(Arrays.toString(histogram));
        System.out.println(a.length);
    }
}
